<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="root"></div>
    <script src="schedule.js"></script>
    <script>
        // time.timeRemaining() 返回是否还有空闲时间（毫秒）
        // time.didTimeout 返回是否因为超时强制执行（布尔值）
        // {timeout: 2000} 指定回调的最大等待时间（以毫秒为单位）。如果在指定的 timeout 时间内没有空闲时间，回调会强制执行，避免任务无限期推迟
        // requestIdleCallback(function(time) {
        //     console.log(time.timeRemaining(), time.didTimeout)
        // },{timeout: 2000})

        // total = 50000
        // const arr = []

        // function generateArr() {
        //     for (let i = 0; i < total; i++) {
        //         arr.push(function() {
        //             document.body.innerHTML += `<div>${i+1}</div>`
        //         })
        //     }
        // }
        // generateArr()

        // function workloop(time) {
        //     if (time.timeRemaining() > 1 && arr.length > 0){
        //         const fn = arr.shift()
        //         fn()
        //     }
        //     requestIdleCallback(workloop)
        // }

        // // for (let i = 0; i < total; i++) {
        // //     arr[i]()
        // // }
        // requestIdleCallback(workloop)

        // const channel = new MessageChannel()
        // const port1 = channel.port1
        // const port2 = channel.port2

        // port1.onmessage = (event) =>{
        //     console.log('Received by port1:', event.data) // 接收port2发送的消息
        //     port1.postMessage('Reply from port1'); // 向 port2 发送回复消息
        // }

        // // 设置 port2 的消息处理函数
        // port2.onmessage = (event) => {
        //     console.log('Received by port2:', event.data);
        // };
        // // port2发送消息给port
        // port2.postMessage('hello')


     </script>
</body>
</html>